Telegram Group Search
👾 AI-агенты — настоящее, о котором все говорят

На днях мы анонсировали наш новый курс AI-агенты для DS-специалистов 🎉

Это продвинутая программа для тех, кто хочет получить прикладной опыт с LLM и решать сложные задачи!

На обучении вы соберете полноценные LLM-системы с учётом особенностей доменных областей, получите hands-on навыки RAG, Crew-AI / Autogen / LangGraph и агентов.

🎓 В рамках курса вы научитесь:
— адаптировать LLM под разные предметные области и данные
— собирать свою RAG-систему: от ретривера и реранкера до генератора и оценки качества
— строить AI-агентов с нуля — на основе сценариев, функций и взаимодействия с внешней средой

Разберете реальные кейсы и научитесь применять похожие подходы в разных доменных областях, получите фундамент для уверенного прохождения NLP system design интервью и перехода на следующий грейд.

Старт 5 июля, а при оплате до 1 июня действует дополнительная скидка и бонус — эксклюзивный лонгрид по API и ML от Proglib.

Начните осваивать тему уже сейчас 👉 https://clc.to/Cttu7A
Библиотека мобильного разработчика | Android, iOS, Swift, Retrofit, Moshi, Chuck pinned «👾 AI-агенты — настоящее, о котором все говорят На днях мы анонсировали наш новый курс AI-агенты для DS-специалистов 🎉 Это продвинутая программа для тех, кто хочет получить прикладной опыт с LLM и решать сложные задачи! На обучении вы соберете полноценные…»
🎁 Linux vs. Windows: битва операционных систем

Linux и Windows - два гиганта в мире операционных систем, между которыми уже давно идет битва за предпочтение пользователей.

Каждая из них имеет свои преимущества и недостатки, и выбор между ними зависит от конкретных потребностей и предпочтений пользователя.

Чему вы отдаете предпочтение? Голосуйте и пишите своё мнение в комментариях
💬

❤️ 
— Linux
👍 
Windows
👏 — другое

🐸 Библиотека мобильного разработчика 

#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🆒 5 трюков Jetpack Compose, о которых вы, вероятно, не знаете

Рассмотрим 5 недооцененных или малоизвестных трюков с пользовательским интерфейсом в Jetpack Compose, которые помогут вам создавать более эффективные, красивые и удобные в обслуживании пользовательские интерфейсы.

1️⃣ Анимируйте видимости с помощью переходов Enter/Exit

Вместо того чтобы переключать видимость с помощью if (visible) Box {}, вы можете использовать AnimatedVisibility для чистой анимации входа и выхода.

AnimatedVisibility(
visible = showDetails,
enter = fadeIn() + slideInVertically(),
exit = fadeOut() + slideOutVertically()
) {
Text("Here's a smooth transition")
}


Почему это важно: это избавляет от необходимости ручной обработки анимации и мгновенно улучшает UX.

2️⃣ Используйте модификатора Layout для создания кастомных макетов

Иногда стандартных Row, Column и Box недостаточно. Тогда на помощь приходит модификатор Modifier.layout.

Modifier.layout { measurable, constraints ->
val placeable = measurable.measure(constraints)
layout(placeable.width, placeable.height) {
// Flip layout horizontally
placeable.placeRelative(-placeable.width, 0)
}
}


Пример использования: создание зеркальных макетов, переворачивание компонентов или нестандартное расположение UI.

3️⃣ Разделяйте элементы в LazyColumn

Хотите вставить разделитель или пробел между каждым элементом?

LazyColumn {
itemsIndexed(items) { index, item ->
Text(item)
if (index != items.lastIndex) {
Divider()
}
}
}


Бонус: вы можете не ограничиваться разделителями, а вставлять между рядами рекламу, советы или информационный контент.

4️⃣ Используйте drawBehind для расширения фонового рисунка за пределы границ

Функция drawBehind позволяет рисовать за макетом компонента, игнорируя отступы или даже рисуя за пределами границ.

Modifier
.padding(16.dp)
.drawBehind {
drawRect(Color.Gray)
}


Пример: добавьте тень или градиентный фон, выходящий за границы содержимого.

5️⃣ Закрепляйте заголовки в LazyColumn с помощью stickyHeader

Jetpack Compose имеет нативную поддержку «липких» заголовков:

LazyColumn {
stickyHeader {
Text(
"Section Title",
modifier = Modifier.background(Color.White)
)
}
items(data) {
Text(it)
}
}


Отлично подходит для: групповых списков (например, контакты A-Z), разделов чата по дате и т.д.

Делитесь в комментариях лайфхаками, которыми вы пользуетесь 💬

🐸 Библиотека мобильного разработчика

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Последние 2 дня скидки на курс «AI-агенты для DS-специалистов»

Пока большинство дата-сайентистов строят модели и делают аналитику, рынок уже требует специалистов, которые создают автономные системы на базе ИИ-агентов.

Для этого мы подготовили специальный курс и собрали кучу дополнительного контента, который поможет погрузиться в тему еще глубже. Но чтобы получить все плюшки, успевайте до 1 июня.

🎁 Что вы получите при оплате курса до 1 июня:
— Промокод PROGLIBAIна 10 000 ₽ на курс, чтобы изучать AI-агентов еще выгоднее
— Эксклюзивный лонгрид по API и ML от Proglib

💡Что разберем на курсе «AI-агенты для DS-специалистов»:
— Реализацию памяти в цепочках langchain
— Полный пайплайн RAG-системы с оценкой качества
— Основы мультиагентных систем (MAS)
— Протокол MCP и фреймворк FastMCP

Промокод также действует на курсы «Математика для Data Science» и «Алгоритмы и структуры данных».

👉 Успейте до 1 июня: https://clc.to/Cttu7A
🚨 Что на самом деле происходит с увольнениями в ИТ

Каждый день в чатах разработчиков появляются сообщения «ищу работу», «команду сократили», «проект закрыли». Но никто не говорит о причинах и масштабах катастрофы. Мы запустили большое исследование, чтобы раскрыть правду!

🎯 Что мы выясним:
→ Реальные причины увольнений
→ Сколько времени нужно на поиск работы
→ Самые безумные истории смены работы

Понимая реальную ситуацию, мы сможем принимать взвешенные решения о карьере и не попасться на удочку HR-сказок.

👉 Пройдите опрос за 3 минуты и помогите всему сообществу: https://clc.to/yJ5krg
🎁 Топ-вакансий для мобильных разработчиков за неделю

Junior Android-developer — от 110 000 ₽, гибрид (Москва)

Head of iOS Development (WebView-приложения) — гибрид (Санкт-Петербург, Сочи, Ереван, Амстердам, Дубай)

Flutter-разработчик — удалёнка

Java/Kotlin-разработчик (Календарь) — от 300 000 до‍ 500 000 ₽, удалёнка

Middle+/Senior IOS developer — удалёнка

➡️ Еще больше топовых вакансий — в нашем канале Mobile jobs

🐸 Библиотека мобильного разработчика

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
🔧 How to: настраиваем GitLab CI/CD для мобильных тестов

Ручные сборки и деплой занимают время, а человеческий фактор может привести к ошибкам. Автоматизируем процесс!

1️⃣ Создаём .gitlab-ci.yml

Файл .gitlab-ci.yml – сердце CI/CD в GitLab. Здесь описываем, какие тесты и когда запускать.

Пример пайплайна для Android (Appium + Pytest):

stages:
- test

variables:
ANDROID_HOME: "/sdk"
PATH: "$ANDROID_HOME/emulator:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$PATH"

test_ui:
stage: test
image: python:3.9
before_script:
- pip install -r requirements.txt
script:
- pytest tests/ui_tests --junitxml=report.xml
artifacts:
paths:
- report.xml


Что тут происходит?
✔️ stages: Определяем этапы (у нас пока только test).
✔️ variables: Переменные среды (Android SDK и путь к эмулятору).
✔️ test_ui: Джоб, который запускает UI-тесты.
✔️ image: Используем докер-образ с Python 3.9.
✔️ before_script: Устанавливаем зависимости перед запуском.
✔️ script: Запускаем тесты.
✔️ artifacts: Сохраняем отчёт о тестах.

2️⃣ Подключаем GitLab Runner

Чтобы GitLab выполнял тесты, нужен Runner – агент, который их запускает.

Запускаем Runner на своём сервере

➡️ Устанавливаем GitLab Runner:

sudo curl -L --output /usr/local/bin/gitlab-runner \
"https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64"
sudo chmod +x /usr/local/bin/gitlab-runner


➡️ Регистрируем Runner:


gitlab-runner register


Вводим URL репозитория и токен (берём в Settings → CI/CD → Runners).

➡️ Запускаем Runner:


gitlab-runner start


Теперь тесты будут выполняться прямо на твоей машине или сервере.

3️⃣ Добавляем Android-эмулятор в пайплайн
Если нужно гонять тесты на Android:

test_android:
stage: test
image: budtmo/docker-android:emulator_11.0
before_script:
- start-emulator
- adb wait-for-device
script:
- pytest tests/android_tests


✔️ budtmo/docker-android – докер-контейнер с эмулятором Android.
✔️ start-emulator – запускаем эмулятор.
✔️ adb wait-for-device – ждём, пока устройство загрузится.

4️⃣ Автоматизация сборки APK/IPA

Чтобы собирать APK (Android) или IPA (iOS) в GitLab CI/CD:

Android (Gradle)
build_apk:
stage: build
image: openjdk:11
script:
- ./gradlew assembleDebug
artifacts:
paths:
- app/build/outputs/apk/debug/app-debug.apk


iOS (Fastlane)
build_ios:
stage: build
image: circleci/macos-xcode
script:
- bundle exec fastlane build
artifacts:
paths:
- build/ios.ipa


Какой CI/CD используете вы? Делитесь опытом в комментариях 💬

🐸 Библиотека мобильного разработчика

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🛡 6 основных аспектов безопасности

Незащищенный API становится легкой мишенью для хакеров, поэтому его безопасность – приоритет для разработчиков и компаний, дорожащих своей репутацией.

В этой статье мы рассмотрим шесть основных аспектов защиты API, которые помогут минимизировать риски взлома, утечки данных и отказа в обслуживании.

👉 Читать статью

🐸 Библиотека мобильного разработчика

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 adb logcat – мощный инструмент для отладки Android-приложений

Когда мобильное приложение ведет себя странно, а в студии нет очевидных ошибок, на помощь приходит adb logcat – ваш "рентген" для Android-устройств.

Как использовать?

adb logcat | grep "MyAppTag"  # фильтр по вашему тегу
adb logcat -s *:E # только ошибки (Error)
adb logcat > logs.txt # сохранить логи в файл


💡 Полезные сценарии:

🔘 Поиск крашей – быстро находите Crash и Exception даже без дебаггера.

🔘 Фильтрация по тегам – если вы добавили свои (Log.d("MyAppTag", "message")).

🔘 Анализ производительности – ищите предупреждения о долгих операциях (Choreographer, ANR).

⚠️ Лайфхак:

Очистите старые логи перед тестированием, чтобы не "тонуть" в данных:

adb logcat -c


А вы часто используете logcat? Делитесь любимыми командами в комментариях 👇

🐸 Библиотека мобильного разработчика

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🫣 Устали от HR-сказок про «дружный коллектив» и «печеньки в офисе»?

Давайте честно поговорим о том, что действительно происходит на IT-рынке. Не в розовых презентациях, а в реальной жизни разработчиков, тестировщиков, аналитиков и всех, кто живет кодом.

🧐 Мы проводим исследование, чтобы выяснить:

— Как часто мы прыгаем между компаниями (и почему)
— Какие красные флаги заставляют бежать без оглядки
— Где реально находят работу
— Что бесит в HR больше всего
— Сколько кругов собеседований — это уже перебор

Результаты покажут реальную картину рынка. Без приукрашиваний. Может, компании поймут, что нужно менять, а специалисты — куда двигаться дальше.

😈 Опрос займет 5 минут, но результаты будут работать на всех нас → https://clc.to/9aaXVg
Чек-лист: идеальный релиз

Перед тем как выкатывать обнову, пробегитесь по этому списку — спасёт от багов, негативных отзывов и бессонных ночей.

🔎 Тестирование

🔘 Проверить на разных Android/iOS версиях
🔘 Протестировать на слабых устройствах
🔘 Проверить работу без интернета
🔘 Убедиться, что не падает при быстрых действиях

📌 Технические моменты

🔘 Проанализировать крэш-репорты (Firebase, Sentry)
🔘 Оптимизировать потребление батареи
🔘 Проверить push-уведомления
🔘 Убедиться в корректности deep links

📱 UI/UX проверки

🔘 Нет ли "прыгающих" элементов
🔘 Все тексты читаются (нет перекрытий)
🔘 Кнопки адекватного размера (не менее 48dp)
🔘 Проверить тёмную тему

🚀 Перед релизом

🔘 Обновить changelog
🔘 Проверить метаданные в маркетах
🔘 Сделать smoke-тест финальной сборки
🔘 Подготовить откатную стратегию

Какие пункты вы бы добавили? Делитесь в комментах 👇

🐸 Библиотека мобильного разработчика

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🧩 Стандартизация без боли

В начале проекта разработчик хочет свободы творчества: писать код быстро и видеть результат. Но со временем баги, регрессии и несовместимые решения превращают эту свободу в боль.

В статье автор сравнивает языки программирования по уровню синтаксической однозначности, гибкости и пригодности для командной работы.

Также рассматривает, как строгие ограничения формируют культуру качества, а чрезмерная выразительность часто мешает команде работать как единое целое

👉 Читать статью

🐸 Библиотека мобильного разработчика

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
2025/06/13 19:41:58
Back to Top
HTML Embed Code: